/**
 * Package
 *
 * @param name	The package's name.
 *
 * @extends IObject
 */
function	Package(name)
{
	// inheritance
	this.base		= IObject;
	this.base(name);
	this._type		= 'Package';
	this._version	= '0.00.01';

	// properties
	this._members	= {};


	this.setMembers	= function(members)
	{
		if ((typeof(members) != "undefined") && (members != null))
		{
			for (var memberId in members)
			{
				var	member	= members[memberId];

				if ((typeof(member) != "undefined") && (member != null))
				{
					if (member instanceof IObject)
					{
						this._members[member.getClassName()] = member;
					}
					else if ((member instanceof String) || (typeof(member) == "string"))
					{
						member = eval(member);
						if (member instanceof IObject)
						{
							this._members[member.getClassName()] = member;
						}
					}
				}
			}
		}
		return (false);
	}

	this.getMembers	= function()
	{
		return (this._members);
	}
} // !Package
Package.prototype	= new IObject;


/*
** JS-SL Loading
*/
if ((typeof(jssl) != 'undefined') && jssl && (jssl != null))
{
	if ((typeof(jssl.lang) != 'undefined') && jssl.lang)
	{
		jssl.lang.Package = Package;
	}
	else
	{
		jssl.lang	=
		{
			Package	: Package
		};
	}
}
else
{
	jssl	=
	{
		lang	:
		{
			Package	: Package
		}
	};
}
